package shujia;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;

import java.io.IOException;

public class Demo1TestAPI {
    public static void main(String[] args) throws IOException {
        // 1、创建一个配置文件
        Configuration conf = HBaseConfiguration.create();
        // 配置ZK的地址，通过ZK可以找到HBase
        conf.set("hbase.zookeeper.quorum", "master:2181,node1:2181,node2:2181");

        // 2、创建连接
        Connection conn = ConnectionFactory.createConnection(conf);

        // 3、如果需要对表结构操作 则getAdmin
        //          对数据进行操作，则getTable
        Admin admin = conn.getAdmin();

        // 创建 testAPI表 并指定一个列簇cf1 并将cf1的版本设置为3

        HTableDescriptor testAPI = new HTableDescriptor(TableName.valueOf("testAPI"));
        // 创建一个列簇
        HColumnDescriptor cf1 = new HColumnDescriptor("cf1");
        // 对列簇进行配置
        cf1.setMaxVersions(3);

        // 给testAPI表增加一个列簇
        testAPI.addFamily(cf1);

        // 创建testAPI表
        admin.createTable(testAPI);

        // 用完记得关闭连接
        admin.close();
        conn.close();

    }
}
